package cn.xinfei.xdecision.common.model.component.decisiontable.vo;

import cn.xinfei.xdecision.common.model.component.decisiontable.DecisionTables;
import cn.xinfei.xdecision.common.utils.enums.enginex.ComponentStatusEnum;
import cn.xinfei.xdecision.common.utils.enums.enginex.ComponentVersionStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
public class DecisionTablesVo extends DecisionTables implements Serializable {

    private static final long serialVersionUID = 3661484767794532544L;

    @ApiModelProperty("最新版本")
    private Long lastVersion;

    @ApiModelProperty("规则code")
    private String code;

    /**
     * @see ComponentVersionStatusEnum
     */
    @ApiModelProperty("最新版本状态")
    private Integer lastVersionStatus;

    private String lastVersionDesc;

    @ApiModelProperty("最新版本状态描述")
    private String lastVersionStatusDesc;

    /**
     * @see ComponentStatusEnum
     */
    @ApiModelProperty("决策表状态")
    private Integer status;

    @ApiModelProperty("决策表状态描述")
    private String statusDesc;

    @ApiModelProperty("版本说明")
    private String versionDesc;

    @ApiModelProperty("更新人姓名")
    private String updatedUserName;

    @ApiModelProperty("决策表名称")
    private String name;

    @ApiModelProperty("决策表描述")
    private String description;

    @ApiModelProperty("是否存在新建版本")
    private Boolean isNewVersion = Boolean.FALSE;

    @ApiModelProperty("决策表版本信息")
    private List<DecisionTablesVersionVo> versionList;
}
